Personal identity authentication process and system

ABSTRACT

A personal identity authentication process and system use a class specific linear discriminant transformation to test authenticity of a probe face image. A ‘client acceptance’ approach, an ‘imposter rejection’ approach and a ‘fused’ approach are described.

This invention relates to a personal identity authentication process and system.

The problem of computerized personal identity authentication has received considerable attention over recent years, finding numerous commercial and law enforcement applications.

By way of illustration, these include the verification of credit cards, passports, driver's licenses and the like, matching of controlled photographs such as mud shots, recognition of suspects from CCTV video against a database of known face images and control of access to buildings and teleservices, such as bank teller machines.

A paper entitled “Face Recognition: Features versus Templates” by R Brunelli and T Poggio in IEEE trans on PAMI, Vol 15 pp 1042-1052, 1993 presents a comparison of two basic approaches; namely, a geometric-feature based approach and a template or statistical-feature matching approach, the latter being favoured by the authors.

The most commonly used statistical representation for face authentication is the Karhunen-Loeve expansion, know also as Principal Component Analysis (PCA), by which face images are represented in a lower-dimensional sub-space using PCA bases defined by eigenvectors, often referred to as ‘eigenfaces’.

Although this approach provides a very efficient means of data compression, it does not guarantee the most efficient compression of discriminatory information.

More recently, the technique of linear discriminant analysis (LDA) has been adapted to the problem of face recognition. Again, the face images are represented in a lower dimensional sub-space, but using LDA bases defined by eigenvectors which are often referred to as ‘fisher faces’, and these have been demonstrated to far outperform the PCA representation using ‘eigenfaces’. However, conventional LDA representations involve use of multiple, shared ‘fisher faces’, necessitating complex and computationally intensive matrix operations, and this presents a significant technical problem in terms of performance, processing speed and ease of adding to, or updating the database of face images against which a probe image is tested.

According to a first aspect of the invention there is provided a personal identity authentication process comprising the steps of using linear discriminant analysis (LDA) to derive a class-specific linear discriminant transformation a_(i) from N vectors z_(j) (j=1,2 . . . N) defining respective training images, there being m different classes of said training images with the i^(th) classes ω_(i) containing a respective number N_(i) of said training images such that

${N = {\sum\limits_{i = 1}^{m}\; N_{i}}},$ projecting a vector z_(p) defining a probe image onto said class-specific linear discriminant transformation a_(i), comparing the projected vector

a_(i)^(T)z_(p) with a reference vector for the i^(th) class ω_(i) and evaluating authenticity of the probe image with respect to the i^(th) class in dependence on the comparison.

According to another aspect of the invention there is provided a personal identity authentication system comprising data storage and data processing means for carrying out the process defined in accordance with said first aspect of the invention.

According to a third aspect of the invention there is provided a personal identity authentication system for evaluating authenticity of a probe image with respect to one or more of m different classes of training images, wherein said training images are defined by respective vectors z_(j) (j=1,2 . . . N), there being a total of N vectors z_(j), and the number of training images in the i^(th) class ω_(i) is N_(i) such that

${N = {\sum\limits_{i = 1}^{m}\; N_{i}}},$ the personal identity authentication system comprising data storage means for storing a class-specific linear discriminant a_(i), as defined in accordance with said first aspect of the invention, for each of said classes ω_(i) (i=1,2 . . . m), and data processing means for accessing a said class-specific linear discriminant transformation a_(i) from said data storage means, projecting a vector z_(p) defining said probe image onto the accessed class-specific linear discriminant transformation a_(i), comparing the projected vector

a_(i)^(T)z_(p) with a reference vector for the i^(th) class ω_(i) and evaluating authenticity of the probe image with respect to the i^(th) class ω_(i) in dependence on the comparison.

According to year a further aspect of the invention there is provided a computer readable medium containing computer executable instructions for carrying out a process as defined in accordance with said first aspect of the invention.

An embodiment of the invention will now be described, by way of example only, with reference to the accompanying drawings of which:

FIG. 1 a shows a histogram of a test statistic t_(i) for projected imposter faces images,

FIG. 1 b shows a histogram of the same test statistic for projected client face images, and

FIG. 2 is a schematic representation of a semi-centralised personal identity authentication system according to the invention.

In this embodiment of the invention, it will be assumed that there is a total of N training images representing m different individuals, referred to herein as ‘clients’. The total number of training images N is given by the expression:

${N = {\sum\limits_{i = 1}^{m}\; N_{i}}},$ where N_(i) is the number of training images representing the i^(th) client, defining a distinct client class ω_(i). The number N_(i) of training images need not be the same for each client class. Typically, N might be of the order of 10³ and m might be of the order 10².

The training images are derived from some biometric data, assumed to be appropriately registered and normalised photometrically.

In this embodiment, frontal face images are used; however, images of other biometric data could alternatively be used—e.g. profile facial images.

As will be explained, the described personal identity authentication process and system can be used to evaluate authenticity of a probe face image presented as being that of one of the clients, either accepting or rejecting the claimed identity. This process finds application, inter alia, in the verification of credit cards, passports, driver's licences and the like.

Each training face image is defined by a two-dimensional D×D array of grey level intensity values which can be thought of as a d-dimensional vector z, where d=D². Typically, d may be of the order of 2¹⁴ and an ensemble of face images will map into a collection of points within this huge d-dimensional space.

Face images, being similar in overall configuration, will not be randomly distributed within this space, and thus can be defined in terms of a relatively low-dimensional sub-space. Conventionally, the d-dimensional vectors z are projected into a lower dimensional sub-space spanned by the training face images, and this is accomplished using a PCA projection matrix U generated using the aforementioned Principal Component Analysis (PCA).

The projection matrix U is derived form the mixture covariance matrix Σ, given by the expression:

$\begin{matrix} {{\sum{= {\sum\limits_{j = 1}^{N}{\left( {z_{j} - \mu} \right)\left( {z_{j} - \mu} \right)^{T}}}}},} & (1) \end{matrix}$ where z_(j) is the d-dimensional vector defining the j^(th) training face image and μ is the global mean vector given by the expression:

$\mu = {\sum\limits_{j = 1}^{N}z_{j}}$

If, as here, the dimensionality d of the image vectors z is larger than the number of training images N, the mixture covariance matrix Σ will have n≦N non-zero eigenvalues. The respective eigenvectors u₁,u₂ . . . u_(n) associated with these non-zero eigenvalues (ranked in order of decreasing size) define the PCA bases used to represent the sub-space spanned by the training face images and, to this end, are used to construct the PCA projection matrix U, which takes the form U=[u ₁ ,u ₂ . . . u _(n)].

As described in a paper entitled “Introduction to Statistical Pattern Recognition” by K Fukunaga, Academic Press, New York, 1990 the eigenvalue analysis of the mixture covariance matrix Σ may, for reasons of computational convenience, be carried out in a sub-space of dimension d′, where d′<d.

Each eigenvector u is of dimension d and will be representative of an image having a face-like appearance, resembling the face images from which it is derived. It is for this reason that the eigenvectors u are sometimes referred to as “eigenfaces”.

Having obtained the PCA projection matrix U, the N vectors z_(j) (j=1,2 . . . N) defining the training face images are projected, after centralization, into the lower-dimensional sub-space spanned by the eigenvectors u₁,u₂ . . . u_(n) to generate N corresponding n-dimensional vectors x_(j), given by the expression: x _(f) =U ^(T)(z _(f)−μ) for j=1,2 . . . N  (2)

At this stage, it has been hitherto customary to apply linear discriminant analysis (LDA). The LDA bases used to represent the sub-space spanned by the vectors x_(j) are defined by m−1 eigenvectors v₁,v₂ . . . v_(m−1) associated with the non-zero eigenvalues of a matrix Φ⁻¹S_(B), where Φ is the mixture covariance matrix of the vectors x_(j), given by the expression:

$\begin{matrix} {\Phi = {\frac{1}{N}{\sum\limits_{j = 1}^{N}{x_{j}x_{j}^{T}}}}} & (3) \end{matrix}$ and S_(B) is the between-class scatter matrix derived from the mean ν_(i) of the projected vectors x in each said client class ω_(i), where i=1,2,3 . . . m, and ν_(i) is given by the expression:

$\begin{matrix} {v_{i} = {{\frac{1}{N}{\sum\limits_{j = 1}^{N_{i}}{x_{j}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} x_{j}}}} \in \omega_{i}}} & (4) \end{matrix}$

Again, each eigenvector v is representative of an image having a somewhat face-like appearance and is sometimes referred to as a ‘fisher face’, and these vectors are used to construct a LDA projection matrix V=[v₁,v₂ . . . v_(m−1)]. Adopting the conventional approach, a vector z_(p) defining a probe face image; that is, face image presented as being that of one of the m clients whose authenticity is to be evaluated, is initially projected into the n-dimensional sub-space defined by the ‘eigenfaces’of the PCA projection matrix U and is then projected into the m−1 dimensional sub-space defined by the ‘fisher faces’ of the LDA projection matrix V to generated a projected vector y_(p) given by the expression: y _(p) =V ^(T) U ^(T)(z _(p)−μ)

Verification, or otherwise, of the claimed identity is then carried out by testing the projected vector y_(p) against a projected mean γ_(i) for the relevant client class ω_(i), where γ_(i)=V^(T)ν_(i)

Then, if the projected vector y is within a predetermined distance of the projected mean γ_(i) authenticity of the probe image is accepted as being that of the i^(th) client (i.e. the claimed identity is accepted); otherwise, authenticity of the probe image is rejected as being that of an imposter (i.e. the claimed identity is rejected).

Inspection of Equation 5 above shows that the conventional computational process involves multiple shared ‘fisher faces’ represented by the eigenvectors v₁,v₂ . . . v_(m−1) defining the projection matrix V and is always the same regardless of the client class ω_(i) against which a probe face image is being tested. this approach is computationally intensive involving complex matrix operations and therefore generally unsatisfactory.

In contrast to this conventional approach, which requires the processing of multiple shared ‘fisher faces’, the present invention adopts an entirely different approach which involves processing a single, class-specific ‘fisher face’ defined by a one-dimensional linear discriminant transformation. This approach avoids the use of multiple, shared fisher faces given a considerable saving in computational complexity. To this end, the personal identity of authentication process is redefined in terms of a two-class problem; that is, the client class ω_(i) containing the N_(i) training face images of the i^(th) client and an imposter class Ω_(i) based on the N-N_(i) remaining training face images. Clearly, there will be a client class 107 _(i) and an associated imposter class Ω_(i) for each of the m clients (i=1,2 . . . m).

With this formulation, the mean ν_(Ω) _(i) of the projected vectors x for the imposter class Ω_(i) can be expressed as:

$\begin{matrix} {{v_{\Omega_{i}} = {{\frac{1}{N - N_{i}}{\sum\limits_{j = 1}^{N - N_{i}}{x_{j}\mspace{14mu}{for}\mspace{14mu}{all}\mspace{14mu} x_{j}}}} \notin \omega_{i}}},} & (7) \end{matrix}$ which, by comparison with Equation 4 above, can be expressed in terms of ν_(i) as

$\begin{matrix} {v_{\Omega_{i}} = {{- \frac{N}{N - N_{i}}}v_{i}}} & (8) \end{matrix}$

Thus, the mean of the i^(th) imposter class Ω_(i) is shifted in the opposite direction to the mean of the i^(th) client class Ω_(i), the magnitude of the shift being given by the ration of the respective numbers of training face images N_(i), N-N_(j) in the two classes. This ratio will normally be small and so the mean of the imposter class Ω_(i) will stay close to the origin irrespective of the client class Ω_(i) against which a probe face image is being tested.

The between-class scatter matrix M_(i) for the two classes ω_(i),Ω_(i) can be expressed as:

$\begin{matrix} {{M_{i} = {{\frac{N - N_{i}}{N}\left( \frac{N_{i}}{N - N_{i}} \right)^{2}v_{i}v_{i}^{T}} + {\frac{N_{i}}{N}v_{i}v_{i}^{T}}}},} & (9) \end{matrix}$ which can be reduced to

$\begin{matrix} {M_{i} = {\frac{N_{i}}{N - N_{i}}v_{i}v_{i}^{T}}} & (10) \end{matrix}$

Also, the covariance matrix Φ_(Ω) of the imposter class Ω_(i) estimated as:

$\begin{matrix} {\Phi_{\Omega} = {{\frac{1}{N - N_{i}}{\sum\limits_{j = 1}^{N - N_{i}}{\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)^{T}\mspace{34mu} x_{j}}}} \in \omega_{i}}} & (11) \end{matrix}$ can be expressed in terms of the mixture covariance matrix Φ by rewriting equation 11 above as

$\begin{matrix} \begin{matrix} {\Phi_{\Omega} = {\frac{1}{N - N_{i}}\left\lbrack {{\sum\limits_{j = 1}^{N}{\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)^{T}}} -} \right.}} \\ \left. {\sum\limits_{j = 1}^{N_{i}}{\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)^{T}}} \right\rbrack \end{matrix} & (12) \end{matrix}$ where the vectors in the second sum belong to the client class. In fact, the second sum is related to the covariance matrix Φ_(i) for the client class ω_(i), i.e.

$\begin{matrix} \begin{matrix} {\Phi_{i} = {\frac{1}{N_{i}}{\sum\limits_{j = 1}^{N_{i}}{\left( {x_{j} - v_{i}} \right)\left( {x_{j} - v_{i}} \right)^{T}}}}} & {\mspace{14mu}{x_{j} \in \omega_{i}}} \end{matrix} & (13) \\ {as} & \; \\ {{\sum\limits_{j = 1}^{N_{i}}{\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)\left( {x_{j} + {\frac{N_{i}}{N - N_{i}}v_{i}}} \right)^{T}}} = {N_{i}\left\lbrack {\Phi_{i} + {\left( \frac{N}{N - N_{i}} \right)^{2}v_{i}v_{i}^{T}}} \right\rbrack}} & (14) \end{matrix}$

Thus, simplifying Equation 12 above, it can be shown that:

$\begin{matrix} {\Phi_{\Omega} = {\frac{1}{N - N_{i}}\left\lbrack {{N\;\Phi} - {N_{i}\Phi_{i}} - {\frac{{NN}_{i}}{N - N_{i}}v_{i}v_{i}^{T}}} \right\rbrack}} & (15) \end{matrix}$

The within-class scatter matrix Σ_(i) for the i^(th) client class is now obtained by a weighted averaging of the covariance matrices of the imposter and client classes i.e.

$\begin{matrix} {\sum\limits_{i}{= {{\frac{N - N_{i}}{N}\Phi_{\Omega}} + {\frac{N_{i}}{N}\Phi_{i}}}}} & (16) \end{matrix}$ and by substituting from Equation 15 above, and simplifying, it can be shown that

$\begin{matrix} {\sum\limits_{i}{= {\Phi - M_{i}}}} & (17) \end{matrix}$

A class specific linear discriminant transformation a_(i) for this two class problem can be obtained from the eigenvectors of matrix

$\sum\limits_{i}^{- 1}M_{i}$ associated with nonzero eigenvalues. In fact, in this two class problem there is only one such eigenvector v_(i) that satisfies the equation

$\begin{matrix} {{{\sum\limits_{i}^{- 1}{M_{i}v_{i}}} - {\lambda\; v_{i}}} = 0} & (18) \end{matrix}$ with λ≠0 provided ν_(i) is non zero. As there is only one solution to the eigenvalue problem it can be easily shown that the eigenvector v_(i) can be found directly, without performing any eigenanalysis, as

$\begin{matrix} {v_{i} = {\sum\limits_{i}^{- 1}v_{i}}} & (19) \end{matrix}$

This becomes apparent by substituting for v_(i) in Equations 18 and 19 above and for M_(i) from Equation 10 above, i.e.

$\begin{matrix} {{{\frac{N_{i}}{N - N_{i}}{\sum\limits_{i}^{- 1}{v_{i}v_{i}^{T}{\sum\limits_{i}^{- 1}v_{i}}}}} = {\lambda\; v_{i}}},} & (20) \end{matrix}$ which also shows that the eigenvalue λ is given by

$\begin{matrix} {\lambda = {\frac{N_{i}}{N - N_{i}}v_{i}^{T}{\sum\limits_{i}^{- 1}v_{i}}}} & (21) \end{matrix}$

The eigenvector v_(i) is used as the base for a linear discriminant transformation a_(i) for the i^(th) client class ω_(i) given by the expression: a_(i)=Uv_(i),  (22) and it is this transformation a_(i) that defines a one-dimensional, class-specific ‘fisher face’ used to test the authenticity of a probe image face in accordance with the present invention.

In one approach, referred to herein as “the client acceptance” approach, a vector z_(p) defining a probe image face is projected onto the class specific ‘fisher face’ using the transformation a_(i) and the projected vector

a_(i)^(T)z_(p) is tested against the projected mean

a_(i)^(T)μ_(i) for the respective class (the i^(th) class, in this illustration).

To this end, a difference value d_(c) given by the expression:

$\begin{matrix} {d_{c} = {{{a_{i}^{T}z_{p}} - {a_{i}^{T}\mu_{i}}}}} & (23) \end{matrix}$ is computed. If the text statistic d_(c) is greater than a predetermined threshold, t_(c) i.e. (if d_(c)≦t_(c)) authenticity of the probe face image is accepted i.e. the claimed identity (that of the client i^(th) client) is accepted; otherwise (i.e. d_(c)>t_(c)) authenticity of the probe face image is rejected i.e. the claimed identity is rejected.

The threshold value t_(c) is chosen to achieve a specified operating point; that is, a specified relationship between false rejection of true claims and false acceptance of imposter claims. The operating point is determined from the ‘receiver operating characteristics’ (ROC) curve which plots the relationship between these two error rates as a function of decision threshold. The ROC curve is computed using an independent face image set, know as an evaluation set.

Typically the operating point will be set at the ‘equal error rate’ (EER) where both the false rejection and false acceptance rates are the same.

In another approach, referred to herein as the ‘imposter rejection’ approach, the projected vector

a_(i)^(T)z_(p) is tested against the projected mean of imposters i.e.

${a^{T}\mu_{\Omega}} = {{- \frac{N_{i}}{N - N_{i}}}a_{i}^{T}{\mu_{i}.}}$ To this end, a difference value d_(i) given by the expression:

$d_{i} = {{{a_{i}^{T}z_{p}} + {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}}}$ is computed. In this case, the projected vector

a_(i)^(T)z_(p) for an imposter is expected to be close to the projected mean of imposters. this, if the text statistic d_(i) is greater than a predetermined threshold t_(i) (i.e. d_(i)>t_(i)) the authenticity of the probe face image is accepted i.e. the claimed identity (that of the i^(th) client) is accepted; otherwise (i.e. d_(i)≦t_(i)) authenticity of the probe face is rejected i.e. the claimed identity is rejected. When the number of training face images N is large the mean of imposters will be close to the origin and the second term in Equation 24 can be neglected. In this case, the difference value d_(i) will simply be the absolute value of the projected vector

a_(i)^(T)z_(p).

FIGS. 1( a) and 1(b) respectively show histograms of the test statistic t_(i) for probe face images of imposters and probe face images of clients obtained using the ‘imposter rejection’ approach. As expected, the probe face images of imposters cluster at the origin. i.e. the mean of imposters μ_(Ω) (FIG. 1( a)), whereas the probe face images of clients fall far away from the origin (FIG. 1( b)). The negative projections in FIG. 1( b) are an artifact of the convention adopted for representing the ‘fisher faces’. In principle, though, the projections of client face images could be computed to give a test statistic t_(i) which is always positive.

It has been found that the ‘client acceptance’ approach and the ‘imposter rejection’ approach are complimentary and can be combined or fused. An example of the ‘fused’ approach is a simple serial fusion scheme. More specifically, a probe face image is initially tested using the ‘imposter rejection’ approach. If the probe face image fails the test i.e. the claimant is rejected as an imposter, authenticity of the prove face image is accepted. If, on the other hand, the probe face image passes the test i.e. the claimant is accepted as an imposter, the probe face image is tested again using the ‘client acceptance’ approach. If the probe face image passes this second test i.e. the claimant is accepted as a client, authenticity of the probe face image is accepted; otherwise, authenticity is rejected.

In this illustration, different threshold values t_(c) and t_(i) were used for the ‘client acceptance’ and ‘imposter rejection’ approaches respectively. However, since the client and imposter probe vectors z_(p) are both projected into the same one-dimensional space it should be possible to find a common threshold value for both approaches which separate the client and imposter images at given operating point error rates.

The described personal identity authentication processes have been tested by conducting verification experiments according to the so-called Lausanne protocol described in a paper entitled “XM2VTSDB: The Extended M2VTS Database” by K Messer et al Proc of AVBPA '99 pp 72-77, 1999.

This protocol provides a standard frame work for performance characterization of personal identity authentication algorithms so that the results of different approaches are directly comparable. The protocol specifies a partitioning of the database into three different sets; namely, a training set containing 200 clients, an evaluation set containing 200 clients and 25 imposters and a test set containing 200 clients and 70 imposters.

The imposter images in the evaluation and test sets are independent of each other and are distinct from the client set. the training set was used to evaluate the client ‘fisher faces’, defined by the transformations a_(i), as already described. The evaluation set was used to determine the thresholds t_(i),t_(c) and the test set was used to evaluate the false acceptance and false rejection rates on independent data.

Prior to testing, the face images were correctly registered to within one pixel to eliminate any contributory affects on performance due to misalignment, and each image was photometrically normalized either by removing image mean or by histogram equalisation.

It has been found that when the ‘client acceptance’ approach is adopted the optimum results are obtaining using photometrically normalised images, with histogram equalisation giving the best results, whereas when the ‘imposter rejection’ approach is adopted the optimum results are obtained using images that are unnormalised.

The test results show that the ‘imposter rejection’ approach gives lower levels of false rejection/false acceptance than the ‘client acceptance’ approach, and that even lower levels can be achieved using the ‘fused’ approach, these levels also being lower than levels that can be obtained using conventional LDA authentication processes.

As already described, conventional LDA personal identity authentication processes involve use of multiple, shared ‘fisher faces’ spanning a sub-space having dimensions of 100 or more, necessitating complex and computationally intensive matrix operations. In contrast to this, the present invention involves use of a class-specific ‘fisher face’ defined by a transformation a_(i) which only occupies a one-dimensional sub-space. This has important implications for computational efficiency of the authentication process; more specifically, because computational complexity in the operation phase (i.e. after the ‘fisher faces’ have been generated) is linearly proportional to sub-space dimensionality, the class-specific approach of the present invention should operate at more than 100 times faster than the conventional approach.

Moreover, because the test statistics d_(c),d_(i) are one-dimensional there is no need to compute a Euclidean distance in ‘fisher space’—a decision can be reached by a simple comparison of the test statistic d_(c),d_(i) with a threshold t_(c),t_(i), giving further computational gains. Furthermore, the projections of client and imposter mean

$\left( {{a_{i}^{T}\mu_{p}} - {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}} \right)$ can be pre-computed and, again, this leads to faster processing.

Also, during the training phase, the class-specific ‘fisher faces’ a can be evaluated in a relatively straightforward manner, without the need to solve an eigenvalue analysis problem. This is particularly so when the number N of training face images is large; then, the between-class scatter matrix M_(i) tends to zero and the within-class scatter matrix

$\sum\limits_{i}^{\;}\mspace{11mu}$ simply becomes the mixture covariance matrix Φ which is common to all classes, giving yet further computational gains.

A further consequence of using a class-specific ‘fisher face’ a_(i), as described, is that each such ‘fisher face’ can be computed and independently of any other ‘fisher face’. This makes enrollment of new clients relatively straightforward compared with the above-described conventional LDA approach involving use of multiple, shared ‘fisher faces’. Therefore, the present invention finds particular, though not exclusive, application in situations where the client population is continuously changing and the database of training face images need to be added to or updated.

The personal identity authentication process of the invention ay be implemented in a variety of different ways.

In a fully centralised personal identity authentication system a probe face image is transmitted to a remove control processing station which stores details of all the clients and carried out the necessary processing to arrive at a decision as to authenticity.

Alternatively, a semi-centralised system could be used, as shown schematically in FIG. 2. In this case, class specific data; e.g. the eigenvectors v₁,v₂ . . . v_(m) and the mean vectors μ₁,μ₂ . . . μ_(m) are pre-computed and stored in a remove data store e.g. a portable data store such as a smart card 10, and the data processing is carried out in a local processor 11. The local processor 11 stores the bases u₁,u₂ . . . u_(m) for the PCA projection matrix U and accesses data from the smart card 10, as necessary, via a card reader 12. The processor 11 uses this data to process a vector z_(p) representing a probe face image received from an associated input unit 13.

In a yet further approach, a fully localised system could be used. In this case, all the necessary data is stored and processed in a smart card. With this approach, the present invention which involves processing class-specific ‘fisher faces’ a_(i) should be m times more efficient than the conventional LDA approach which involves processing multiple, shared ‘fisher faces’, both in terms of data storage and processing speed.

Furthermore, enrollment of new clients in, or updating of the smart card database, impractical using the conventional LDA approach, becomes feasible. Therefore, the present invention opens the possibility of personal identity authentication systems having non-centralised architectures.

In the foregoing implementations of the invention, the probe face image is presented as being that of one of m clients know to the authentication system, and this image is tested against the respective client class. In another implementation of the invention, the identity of the probe face image is unknown; in this case, the probe face image is tested against one or more of the client classes with a view to finding a match and establishing identity. This implementation finds application, inter alia, in matching of controlled photographs such as mug shots and recognition of suspects from CCTV video against a database of known face images.

It will be understood that the invention also embraces computer readable media such as CD ROM containing computer executable instructions for carrying out personal identity authentication processes according to the invention. 

1. A personal identity authentication process comprising the steps of: using linear discriminant analysis (LDA) to derive a class-specific linear discriminant transformation a_(i) from N vectors z_(j) (j=1,2 . . . N) defining respective training images, there being m different client classes of said training images, each said client class containing training images of a single client, with the i^(th) class ω_(i) containing a respective number N_(i) of said training images such that ${N = {\sum\limits_{i = 1}^{\; m}N_{i}}},$ projecting a vector z_(p) defining a probe image onto said class-specific linear discriminant transformation a_(i), comparing the projected vector a_(i)^(T)z_(p)  with a reference vector for the i^(th) client class ω_(i) and evaluating authenticity of the probe image with respect to the i^(th) client class in dependence on the comparison.
 2. A process as claimed in claim 1 including, applying principal component analysis (PCA) to said vectors z_(j) (j=1,2 . . . N) to generate a set of eigenvectors (u₁,u₂ . . . u_(n)), spanning an n-dimensional sub-space, as bases for a PCA projection matrix U, using said PCA projection matrix U to project said vectors z_(j) (j=1,2 . . . N) onto said eigenvectors (u₁,u₂ . . . u_(n)) to generate respective n-dimensional vectors x_(j) (j=1,2 . . . N), and applying said linear discriminant analysis (LDA) to said n-dimensional vectors x_(j) (j=1,2 . . . N) to generate a class-specific eigenvector v_(i) related to said class-specific linear discriminant transformation a_(i) by the expression a_(i)=Uv_(i).
 3. A process as claimed in claim 2 wherein said step of applying said linear discriminant analysis (LDA) to said n-dimensional vectors x_(j) (j=1,2 . . . N) includes generating a within-class scatter matrix $\sum\limits_{i}^{\;}\mspace{11mu}$ for said i^(th) client class ω_(i), and said class-specific eigenvector v_(i) is given by the expression: v_(i) = Σ⁻¹v_(i) where $v_{i} = {\frac{1}{N_{i}}{\sum\limits_{j = 1}^{\; N_{i}}x_{j}}}$ for all x_(j) in ω_(i).
 4. A process as claimed in claim 3 wherein said within-class scatter matrix ∑_(i)  is equal to the mixture covariance matrix Φ of said n-dimensional vectors x_(j) (j=1,2 . . . N) where, $\Phi = {\frac{1}{N}{\sum\limits_{j = 1}^{\; N}{x_{j}{x_{j}^{T}.}}}}$
 5. A process as claimed in claim 3 wherein said step of applying said linear discriminant analysis (LDA) to said n-dimensional vectors x_(j) (j=1,2 . . . N) includes generating a between-class scatter matrix M_(i) for said i^(th) client class, where ${M_{i} = {\frac{N_{i}}{N - N_{i}}v_{i}v_{i}^{T}}},$ and $v_{i} = {\frac{1}{N_{i}}{\sum\limits_{j = 1}^{N_{i}}\; x_{j}}}$ for all x_(j) in ω_(i) generating the covariance matrix Φ of said n-dimensional vectors x_(j) (j=1,2 . . . N), where $\Phi = {\frac{1}{N}{\sum\limits_{j = 1}^{N}\;{x_{j}x_{j}^{T}}}}$ and generating said within-class scatter matrix ∑_(i)   given by Σ_(i) = Φ − M_(i) .
 6. A process as claimed in any one of claims 1 to 5 wherein said reference vector is defined as a_(i)^(T)μ_(i),  where $\mu_{i} = {\frac{1}{N_{i}}{\sum\limits_{i = 1}^{N_{i}}\; z_{i}}}$ for all z_(i) in ω_(i).
 7. A process as claimed in claim 6 wherein said step of evaluating includes evaluating a difference value d_(c) given by d_(c) = |a_(i)^(T)z_(p) − a_(i)^(T)μ_(i)| and accepting or rejecting authenticity of the probe image in dependence on said difference value.
 8. A process as claimed in claim 7 including accepting authenticity of said probe image if d_(c)≦t_(c) and rejecting authenticity of said probe image if d_(c)>t_(c), where t_(c) is a predetermined threshold value.
 9. A process as claimed in claim 6 wherein said step of evaluating includes evaluating a difference value d_(i) given by $d_{i} = \left| {{a_{i}^{T}z_{p}} + {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}} \right|$ and accepting or rejecting authenticity of the probe image in dependence on said difference value.
 10. A process as claimed in claim 9 including accepting authenticity of said probe image if d_(i)>t_(i) and rejecting authenticity of the probe image if d_(i)≦t_(i), where t_(i) is a predetermined threshold value.
 11. A process as claimed in claim 7 wherein said step of evaluating includes evaluating said difference value d_(i) given by $d_{i} = {{{a_{i}^{T}z_{p}} + {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}}}$ and accepting or rejecting authenticity of the probe image in dependence on said difference value, and further includes evaluating said difference value d_(i), accepting authenticity of said probe image if d_(i)>t_(i), where t_(i) is a predetermined threshold value, evaluating said difference value d_(c) if d_(i)≦t_(i), accepting authenticity of the probe image if d_(c)≦t_(c), and rejecting authenticity of the probe image if d_(c)>t_(c) where t_(c) is a predetermined threshold value.
 12. A process as claimed in claim 11 wherein said predetermined threshold value(s) t_(c), t_(i) are the same.
 13. A process as claimed in claim 1 including deriving a respective said class-specific linear discriminant transformation a_(i) for each of said m client classes, and performing said steps of projecting, comparing and evaluating for at least one of the class-specific linear discriminant transformations a_(i) so derived.
 14. A process as claimed in 1 including enrolling a new client class of training images containing N_(m+1) training images as the m+1^(th) client class and applying the process of claim 1 to the N′ vectors z_(j) (j=1,2 . . . N′) defining respective training images, where N′=N+N_(m+1).
 15. A process as claimed in claim 14 including updating said class-specific linear transformation a_(i) to take account of said new class.
 16. A personal identity authentication process comprising the steps of: providing a class-specific linear discriminant transformation a_(i) derived by applying linear discriminant analysis (LDA) to N vectors z_(j) (j=1,2 . . . N) defining respective training images, there being m different client classes of said training images,each said client class containing training imager or a single client with the i^(th) client class ω_(i) containing a respective number N_(i) of said training images such that $N = {\sum\limits_{i = 1}^{m}\;{N_{i},}}$ projecting a vector z_(p) defining a probe image onto said class-specific linear discriminant transformation a_(i), comparing the projected a_(i)^(T)z_(p)  with a reference vector for the i^(th) client class ω_(i) and evaluating authenticity of the probe image with respect to the i^(th) client class in dependence on the comparison.
 17. A personal identity authentication process as claimed in claim 16 wherein said class-specific linear discriminant transformation a_(i) is derived using the following steps: applying principal component analysis (PCA) to said vectors z_(j) (j=1,2. . . N) to generate a set of eigenvectors (u₁,u₂, . . . u_(n)), spanning an n-dimensional sub-space, as bases for a PCA projection matrix U, using said PCA projection matrix U to project said vectors z_(j) (j=1,2. . . N) onto said eigenvectors (u₁,u₂ . . . u_(n)) to generate respective n-dimensional vectors x_(j) (j=1,2 . . . N), and applying said linear discriminant analysis (LDA) to said n-dimensional vectors x_(j) (j=1,2 . . . N) to generate a class-specific eigenvector v_(i) related to said class-specific linear discriminant transformation a_(i) by the expression a_(i)=Uv_(i).
 18. A personal identity authentication process comprising the steps of: providing a class-specific linear discriminant transformation a_(i) derived by applying linear discriminant analysis (LDA) to N vectors z_(j) (j=1,2 . . . N) defining respective training images, there being m different client classes of said training images, each said client class containing training images of a single client with the i^(th) client class ω_(i) containing a respective number N_(i) of said training images such that $N = {\sum\limits_{i = 1}^{m}\;{N_{i},}}$ projecting a vector z_(p) defining a probe image onto said class-specific linear discriminant transformation a_(i), comparing the projected a_(i)^(T)z_(p)  with a reference vector for the i^(th) client class ω_(i), wherein said reference vector is defined as a_(i)^(T)μ_(i),  where ${\mu_{i} = {\frac{1}{N_{i}}{\sum\limits_{i = 1}^{N_{i}}\; z_{i}}}},$  for all z_(i) in ω_(i), and evaluating the authenticity of the probe image with respect to the i^(th) client class in dependence on the comparison, said step of evaluating being carried out by the process steps defined in claim 7 or claim
 9. 19. A personal identity authentication system comprising data storage and data processing means for carrying out the process according to claim
 1. 20. A personal identity authentication system for evaluating authenticity of a probe image with respect to one or more of m different clients classes of training images, each said client class containing training images of a single client, wherein said training images are defined by respective vectors z_(j) (j=1,2 . . . N), there being a total of N vectors z_(j), and the number of training images in the i^(th) client class ω_(I) is N_(i) such that ${N = {\sum\limits_{i = 1}^{m}N_{i}}},$ the personal identity authentication system comprising data storage means for storing a class-specific linear discriminant transformation a_(i), as defined in claim 1, for each of said client classes ω_(i) (i=1,2 . . . m), and data processing means for accessing a said class-specific linear discriminant transformation a_(i) from said data storage means, projecting a vector z_(p) defining said probe image onto the accessed class-specific linear discriminant transformation a_(i), comparing the projected vector a_(i)^(T)z_(p)  with a reference vector for the i^(th) client class ω_(i) and evaluating authenticity of the probe image with respect to the i^(th) client class ω_(i) in dependence on the comparison.
 21. An authentication system as claimed in claim 20 wherein said reference vector is defined as a_(i)^(T)μ_(i), where $\mu_{i} = {\sum\limits_{i = 1}^{N_{i}}\; z_{i}}$ for all z_(i) in ω_(i) and is also stored in said data storage means and is accessible by said data processing means.
 22. An authentication system as claimed in claim 21 wherein said step of evaluating includes evaluating a difference value d_(c) given by d_(c) = |a_(i)^(T)z − a_(i)^(T)μ_(i)|, and accepting or rejecting authenticity of the probe image in dependence on said difference value.
 23. An authentication system as claimed in claim 22 including accepting authenticity of said probe image if d_(c)≦t_(c) and rejecting authenticity of said probe image if d_(c)>t_(c), where t_(c) is a predetermined threshold value.
 24. An authentication system as claimed in claim 21 wherein said step of evaluating includes evaluating a difference value d_(i) given by $d_{i} = \left| {{a_{i}^{T}z_{p}} + {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}} \right|$ and accepting or rejecting authenticity of the probe image in dependence on said difference value.
 25. An authentication system as claimed in claim 24 including accepting authenticity of said probe image if d_(i)>t_(i) and rejecting authenticity of said probe image if d_(i)≦t_(i), where t_(i) is a predetermined threshold value.
 26. An authentication system as claimed in claim 22 wherein said step of evaluating includes evaluating a difference value d_(i) given by $d_{i} = {{{a_{i}^{T}z_{p}} + {\frac{N_{i}}{N - N_{i}}a_{i}^{T}\mu_{i}}}}$ and accepting or rejecting authenticity of the probe image in dependence on said difference value, and further includes evaluating said difference value d_(i), accepting authenticity of said probe image if d_(i)>t_(i), where t is a predetermined threshold value, evaluating said difference value d_(c) if d_(i)≦t_(i), accepting authenticity of the probe image if d_(c)≦t_(c) and rejecting authenticity of the probe image if d_(c)>t_(c), where t_(c) is a predetermined threshold value.
 27. An authentication system as claimed in claim 20 wherein said data storage means and said data processing means are located at different sites.
 28. An authentication system as claimed in claim 27 wherein said data storage means is portable.
 29. An authentication system as claimed in claim 28 wherein said data storage means is a smart card.
 30. An authentication system as claimed in claim 20 wherein said data storage means stores precomputed data.
 31. A computer readable medium containing computer executable instructions for carrying out the steps defined in claim
 1. 